Short term trends
KOXAFG_raw <- 
  statgl_url("KOXAFG", lang = language) %>% 
  statgl_fetch(
    commodity = c(0, 1, 15),
    time = px_top(8),
    .col_code = TRUE
  ) %>% 
  as_tibble()
  
KOXAFG <- 
  KOXAFG_raw %>%
  mutate(commodity = commodity %>% str_remove("1.|2.") %>% trimws()) %>% 
  arrange(desc(time)) %>% 
  mutate(time = time %>% fct_inorder()) %>% 
  spread(time, value)
  
KOXAFG %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  row_spec(1, bold = TRUE)
2023Q4 2023Q3 2023Q2 2023Q1 2022Q4 2022Q3 2022Q2 2022Q1
Custom and import duties 195,5 165,4 79,4 119,8 172,1 194 133,8 98,2
Custom, import and stamp duties 205,6 176,8 87,8 142,6 183,5 204 144,2 107,2
Stamp duties 10,2 11,5 8,4 22,7 11,4 10 10,5 9,0


See the table in our Statbank: KOXAFG

KOXDET_raw <- 
  statgl_url("KOXDET", lang = language) %>%
  statgl_fetch(
    time = px_top(8),
    "specification method" = 3,
    .col_code     = TRUE
  ) %>% 
  as_tibble()

KOXDET <-
  KOXDET_raw %>% 
  arrange(desc(time)) %>% 
  mutate(time = time %>% fct_inorder()) %>% 
  spread(time, value)

KOXDET %>% 
  rename(" " = 1) %>% 
  statgl_table()
2023Q4 2023Q3 2023Q2 2023Q1 2022Q4 2022Q3 2022Q2 2022Q1
Quarterly change, seasonal adjusted (pct.) -1,9 1,5 0,1 -0,3 0 2,1 1,4 -0,4


See the table in our Statbank: KOXDET

KOXOBL_raw <- 
  statgl_url("KOXOBL", lang = language) %>%
  statgl_fetch(
    time = px_top(8),
    "type of property" = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

KOXOBL <- 
  KOXOBL_raw %>% 
  arrange(desc(time)) %>% 
  mutate(
    `type of property` = `type of property` %>% str_remove_all("[:digit:]|[:punct:]") %>% trimws(),
    `type of property` = `type of property` %>% fct_inorder(),
    time = time %>% fct_inorder()
         ) %>% 
  filter(value != 0.0) %>% 
  spread(time, value) %>% 
  mutate_if(is.numeric, ~replace(., is.na(.), 0))
 

KOXOBL %>% 
  rename(" " = 1) %>% 
  statgl_table(replace_0s = TRUE) %>% 
  row_spec(1, bold = TRUE)
2023Q4 2023Q3 2023Q2 2023Q1 2022Q4 2022Q3 2022Q2 2022Q1
Total 5.000 4.979 4.943 4.973 4.989 5.006 5.022 4.964
Owneroccupied properties 2.754 2.765 2.781 2.791 2.798 2.814 2.864 2.864
Shared ownership properties 547 536 542 548 490 481 440 397
Privat rental properties 872 887 828 1.123 1.201 1.200 1.207 1.194
Offices and businesses 698 660 660 511 500 511 511 509
Properties for social and cultural purpose 129 130 131 0 0 0 0 0


See the table in our Statbank: KOXOBL

KOXSKT_raw <- 
  statgl_url("KOXSKT", lang = language) %>%
  statgl_fetch(
    time = px_top(),
    municipal = px_all(),
    type = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

KOXSKT <- 
  KOXSKT_raw %>% 
  mutate(municipal = municipal %>% fct_inorder()) %>% 
  drop_na() %>% 
  spread(municipal, value) %>% 
  mutate(type = type %>% str_remove("1.") %>% str_remove("[:digit:]") %>% trimws()) %>% 
  mutate_if(is.numeric, ~replace(., is.na(.), 0))

KOXSKT %>% 
  select(-time) %>% 
  rename(" " = 1) %>% 
  statgl_table(replace_0s = TRUE) %>% 
  pack_rows(index = KOXSKT[["time"]] %>% table()) %>% 
  row_spec(1, bold = TRUE)
All municipalities Kommune Kujalleq Kommuneqarfik Sermersooq Qeqqata Kommunia Qeqertalik Kommune Avannaata Kommunia Outside municipalities
2023Q4
Income tax, total 1.459 127,2 748 216,9 113,8 223,1 29,1
National tax 344 28,9 178 51,7 25,9 50,7 8,2
Joint municipal tax 201 17,3 107 31,0 15,5 30,4 0,0
Municipal tax 893 80,9 463 134,3 72,4 142,0 0,0
Special national tax 21 0,0 0 0,0 0,0 0,0 21,0


See the table in our Statbank: KOXSKT


Last updated: 17. april 2024
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCnsNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQp9DQoNCnsgIA0KbGFuZ3VhZ2UgIDwtIHBhcmFtcyRsYW5nDQpvcHRpb24gICAgPC0gcGFzdGUwKCI/bGFuZz0iLCBsYW5ndWFnZSwgIiZzZWxlY3QiKQ0KbG9nbyAgICAgIDwtIHBhc3RlMChnZXR3ZCgpLCIvYWRkL2xvZ28uZ2lmIikNCnR4dCAgICAgICA8LSByZWFkX3lhbWwocGFzdGUwKGdldHdkKCksICIvYWRkL3R4dC55bWwiKSwgZmlsZUVuY29kaW5nID0gIklTTy04ODU5LTEiKQ0Kc291cmNlICAgIDwtIHR4dCRzb3VyY2VbbGFuZ3VhZ2VdICU+JSB1bmxpc3QoKQ0KfQ0KDQp4YXJpbmdhbkV4dHJhOjp1c2VfY2xpcGJvYXJkKCkNCg0KYGBgDQoNCmBgYHtjc3MsIGVjaG8gPSBGQUxTRX0NCg0KLmFjY29yZGlvbiB7DQogIGJhY2tncm91bmQtY29sb3I6ICM5MTk5MDA7DQogIGNvbG9yOiB3aGl0ZTsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBwYWRkaW5nOiAxOHB4Ow0KICB3aWR0aDogMTAwJTsNCiAgYm9yZGVyOiBub25lOw0KICBib3JkZXItcmFkaXVzOiA1cHg7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIG91dGxpbmU6IG5vbmU7DQogIGZvbnQtc2l6ZTogMTVweDsNCiAgdHJhbnNpdGlvbjogMC40czsNCn0NCg0KLmFjdGl2ZSwgLmFjY29yZGlvbjpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmOTcyNDI7DQp9DQoNCi5hY2NvcmRpb246YWZ0ZXIgew0KICBjb250ZW50OiAnXDAwMkInOw0KICBjb2xvcjogIzc3NzsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGZsb2F0OiByaWdodDsNCiAgbWFyZ2luLWxlZnQ6IDVweDsNCn0NCg0KLmFjdGl2ZTphZnRlciB7DQogIGNvbnRlbnQ6ICJcMjIxMiI7DQp9DQoNCi5wYW5lbCB7DQogIHBhZGRpbmc6IDBweCA1cHggMHB4IDVweDsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogIG1heC1oZWlnaHQ6IDA7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4ycyBlYXNlLW91dDsNCn0NCg0KZGV0YWlscyB7DQogIHdpZHRoOiAxMDAlOw0KfQ0KDQpkZXRhaWxzID4gc3VtbWFyeSB7DQogIHBhZGRpbmc6IDRweCAxMnB4Ow0KICB3aWR0aDogMTAwJTsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2Y5OTsNCiAgYm9yZGVyOiBzb2xpZDsNCiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGZvbnQtc2l6ZTogMTVweDsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KDQpkZXRhaWxzW29wZW5dID4gc3VtbWFyeSB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmYWE0MWE7DQp9DQoNCg0KLnRpdGxlIHsNCiAgY29sb3I6ICMxYjU0NjM7DQogIGZvbnQtc2l6ZTogMzZweDsNCn0NCg0KDQoucGVyc29uZXIgew0KICBib3gtc2hhZG93OiAzcHggM3B4IDRweCBibGFjazsNCiAgYmFja2dyb3VuZDogIzAwNDQ1OTsNCiAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgcGFkZGluZy1sZWZ0OiAxNnB4Ow0KICBwYWRkaW5nLXRvcDogMC4xcHg7DQogIHBhZGRpbmctYm90dG9tOiAxcHg7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgY29sb3I6IHdoaXRlOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KDQouw7hrb25vbWkgew0KICBib3gtc2hhZG93OiAzcHggM3B4IDRweCBibGFjazsNCiAgYmFja2dyb3VuZDogIzAwN0Y5OTsNCiAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgcGFkZGluZy1sZWZ0OiAxNnB4Ow0KICBwYWRkaW5nLXRvcDogMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgY29sb3I6IHdoaXRlOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KDQoudHbDpnJnw6VlbmRlIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICNmYWE0MWE7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLmNvbnRhaW5lciB7DQogIHdpZHRoOiBpbmhlcml0Ow0KfQ0KDQouc2Nyb2xsLTEwMCB7DQogIG1heC1oZWlnaHQ6IDEwMDsNCiAgb3ZlcmZsb3cteTogYXV0bzsNCiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsNCn0NCg0KDQpwcmUgew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCiAgb3ZlcmZsb3cteTogYXV0bzsNCn0NCg0KcHJlW2NsYXNzXSB7DQogIG1heC1oZWlnaHQ6IDMwMHB4Ow0KfQ0KDQpgYGANCg0KPGJyPg0KPGJyPg0KDQo8Y2VudGVyPg0KDQotLS0NCiANCiMgW2ByIHR4dCRLTyR0aXRsZVtsYW5ndWFnZV1gXXsudGl0bGV9DQogDQotLS0NCjwvY2VudGVyPg0KDQo8ZGV0YWlscyBvcGVuPiA8c3VtbWFyeT4gYHIgdHh0JEtPJHRpdGxlW2xhbmd1YWdlXWAgPC9zdW1tYXJ5PiANCjxicj4NCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAxOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIktPWEFGRyIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQpgYGB7ciBLT1hBRkd9DQoNCktPWEFGR19yYXcgPC0gDQogIHN0YXRnbF91cmwoIktPWEFGRyIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAgY29tbW9kaXR5ID0gYygwLCAxLCAxNSksDQogICAgdGltZSA9IHB4X3RvcCg4KSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KICANCktPWEFGRyA8LSANCiAgS09YQUZHX3JhdyAlPiUNCiAgbXV0YXRlKGNvbW1vZGl0eSA9IGNvbW1vZGl0eSAlPiUgc3RyX3JlbW92ZSgiMS58Mi4iKSAlPiUgdHJpbXdzKCkpICU+JSANCiAgYXJyYW5nZShkZXNjKHRpbWUpKSAlPiUgDQogIG11dGF0ZSh0aW1lID0gdGltZSAlPiUgZmN0X2lub3JkZXIoKSkgJT4lIA0KICBzcHJlYWQodGltZSwgdmFsdWUpDQogIA0KS09YQUZHICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKCkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJLT1hBRkciKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzQ4OTgwMDU0LTY4MzQtNDNhMS1hZjBiLTZiZjFlYzEzNjhjNiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQoNCg0KDQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAyOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIktPWERFVCIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIEtPWERFVH0NCg0KDQpLT1hERVRfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJLT1hERVQiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JQ0KICBzdGF0Z2xfZmV0Y2goDQogICAgdGltZSA9IHB4X3RvcCg4KSwNCiAgICAic3BlY2lmaWNhdGlvbiBtZXRob2QiID0gMywNCiAgICAuY29sX2NvZGUgICAgID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KS09YREVUIDwtDQogIEtPWERFVF9yYXcgJT4lIA0KICBhcnJhbmdlKGRlc2ModGltZSkpICU+JSANCiAgbXV0YXRlKHRpbWUgPSB0aW1lICU+JSBmY3RfaW5vcmRlcigpKSAlPiUgDQogIHNwcmVhZCh0aW1lLCB2YWx1ZSkNCg0KS09YREVUICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKCkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJLT1hERVQiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzFjN2UxNGQ1LTYyNDAtNDI2MC1hMmFhLWY1YjE5MzE5ODEzNSIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQoNCg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDM6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiS09YT0JMIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgS09YT0JMfQ0KDQpLT1hPQkxfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJLT1hPQkwiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JQ0KICBzdGF0Z2xfZmV0Y2goDQogICAgdGltZSA9IHB4X3RvcCg4KSwNCiAgICAidHlwZSBvZiBwcm9wZXJ0eSIgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQpLT1hPQkwgPC0gDQogIEtPWE9CTF9yYXcgJT4lIA0KICBhcnJhbmdlKGRlc2ModGltZSkpICU+JSANCiAgbXV0YXRlKA0KICAgIGB0eXBlIG9mIHByb3BlcnR5YCA9IGB0eXBlIG9mIHByb3BlcnR5YCAlPiUgc3RyX3JlbW92ZV9hbGwoIls6ZGlnaXQ6XXxbOnB1bmN0Ol0iKSAlPiUgdHJpbXdzKCksDQogICAgYHR5cGUgb2YgcHJvcGVydHlgID0gYHR5cGUgb2YgcHJvcGVydHlgICU+JSBmY3RfaW5vcmRlcigpLA0KICAgIHRpbWUgPSB0aW1lICU+JSBmY3RfaW5vcmRlcigpDQogICAgICAgICApICU+JSANCiAgZmlsdGVyKHZhbHVlICE9IDAuMCkgJT4lIA0KICBzcHJlYWQodGltZSwgdmFsdWUpICU+JSANCiAgbXV0YXRlX2lmKGlzLm51bWVyaWMsIH5yZXBsYWNlKC4sIGlzLm5hKC4pLCAwKSkNCiANCg0KS09YT0JMICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKHJlcGxhY2VfMHMgPSBUUlVFKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKQ0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIktPWE9CTCIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvZWEzNTcyYjUtZjcxMS00MjdhLTlkM2MtNGQ5YzRhODg4YzQ0Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KDQoNCg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDQ6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiS09YU0tUIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgS09YU0tUfQ0KDQpLT1hTS1RfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJLT1hTS1QiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JQ0KICBzdGF0Z2xfZmV0Y2goDQogICAgdGltZSA9IHB4X3RvcCgpLA0KICAgIG11bmljaXBhbCA9IHB4X2FsbCgpLA0KICAgIHR5cGUgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQpLT1hTS1QgPC0gDQogIEtPWFNLVF9yYXcgJT4lIA0KICBtdXRhdGUobXVuaWNpcGFsID0gbXVuaWNpcGFsICU+JSBmY3RfaW5vcmRlcigpKSAlPiUgDQogIGRyb3BfbmEoKSAlPiUgDQogIHNwcmVhZChtdW5pY2lwYWwsIHZhbHVlKSAlPiUgDQogIG11dGF0ZSh0eXBlID0gdHlwZSAlPiUgc3RyX3JlbW92ZSgiMS4iKSAlPiUgc3RyX3JlbW92ZSgiWzpkaWdpdDpdIikgJT4lIHRyaW13cygpKSAlPiUgDQogIG11dGF0ZV9pZihpcy5udW1lcmljLCB+cmVwbGFjZSguLCBpcy5uYSguKSwgMCkpDQoNCktPWFNLVCAlPiUgDQogIHNlbGVjdCgtdGltZSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUocmVwbGFjZV8wcyA9IFRSVUUpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gS09YU0tUW1sidGltZSJdXSAlPiUgdGFibGUoKSkgJT4lIA0KICByb3dfc3BlYygxLCBib2xkID0gVFJVRSkNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJLT1hTS1QiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxL2U0Njc4NjJhLWY3ODItNDQyNi05MGE1LWQ2NTc3ZTk1OTFlYiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+DQoNCjxociBzdHlsZT0iYm9yZGVyOjFweCByaWRnZSBsaWdodGdyYXkiPiA8L2hyPg0KPGNlbnRlcj4gPHNwYW4gc3R5bGU9J2NvbG9yOiNEM0QzRDM7IGZvbnQtc2l6ZTo5MCU7Jz4gYHIgcGFzdGUodHh0JHVwZGF0ZVtsYW5ndWFnZV0sIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQuICVCICVZIikpYCA8L3NwYW4+IDwvY2VudGVyPg0KDQoNCjxzY3JpcHQ+DQp2YXIgYWNjID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiYWNjb3JkaW9uIik7DQp2YXIgaTsNCg0KZm9yIChpID0gMDsgaSA8IGFjYy5sZW5ndGg7IGkrKykgew0KICBhY2NbaV0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpIHsNCiAgICB0aGlzLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIpOw0KICAgIHZhciBwYW5lbCA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nOw0KICAgIGlmIChwYW5lbC5zdHlsZS5tYXhIZWlnaHQpIHsNCiAgICAgIHBhbmVsLnN0eWxlLm1heEhlaWdodCA9IG51bGw7DQogICAgfSBlbHNlIHsNCiAgICAgIHBhbmVsLnN0eWxlLm1heEhlaWdodCA9IHBhbmVsLnNjcm9sbEhlaWdodCArICJweCI7DQogICAgfSANCiAgfSk7DQp9DQo8L3NjcmlwdD4NCg0KDQo=